The present invention relates to network maintenance, and more specifically, to a virtual machine based controller and upgrade mechanism.
In networking applications, controller failure may cause system downtime. It may be desirable to provide High Availability mechanisms (HA) to prevent downtime whenever possible. Typically HA designs and implementation are available for physical machines. Achieving HA where the controller is virtual machine (VM) based application or a virtual Machine itself may present a new set of challenges. Equally challenging may be hitless upgrades of these controllers from one version to the other while keeping them running. Typically, as new software versions are patched into a system, one controller's operation may be stopped while implementing the upgraded controller. Thus, this may warrant the need to provide notice to users on the system of a scheduled network downtime. In some cases, bringing the network and system down to patch in an upgrade may include testing and debugging of the upgraded software before the system can be brought back online. As may be appreciated, this can result in considerably lengthy downtime.